1. Statement of the Technical Field
The invention concerns cryptography. More particularly, the invention concerns a cryptographic system that encodes data by combining an input signal in a residue number system representation with an error generating sequence.
2. Description of the Related Art
There are many methods known in the art for encrypting data prior to the data's transmission over a communications network. One such method involves receiving an input signal at a cryptographic device. The input signal is expressed in a binary number system representation, i.e. characters of the English language are represented by a sequence of bits. Each bit of the sequence has a zero (0) or a one (1) value. The method also involves generating an encryption sequence. The encryption sequence can be a pseudo-random number sequence generated using a highly non-linear method. The method further involves inducing changes in the input signal using the encryption sequence. Such changes mask the input data and are introduced into the input signal by performing an arithmetic operation. These arithmetic operations are typically arithmetic operations in Galois fields. For example, a binary encryption sequence is added to or subtracted from the input signal bit by bit using Galois field GF[2] arithmetic. Alternatively, the binary encryption sequence is multiplied with the input signal using Galois field GF[2] arithmetic. In this regard, it should be appreciated that each of the above listed arithmetic operations results in modifying every bit of the input signal. In effect, the data contained in the input signal is encrypted.
As will be understood by a person skilled in the art, an advantage of such an encryption method is that it provides a high degree of security. Despite such an advantage, this method suffers from certain drawbacks. For example, algorithms typically employed for generating the encryption sequence are computationally intensive. As such, software programs implementing these algorithms have a slow data processing time.
Another such method involves receiving an input signal expressed in a binary number system representation at a cryptographic device. The method also involves generating a cryptographic sequence. The method further involves arithmetically operating on an N bit block of the input signal using an N bit block of the encryption sequence in Galois field arithmetic. The encryption is induced in the input signal by performing an arithmetic operation, such as addition, subtraction, or multiplication. As a result of performing the arithmetic operation, the entire block is modified. For example, each character of the English language is represented by an eight (8) bit sequence. A block of eight (8) characters forms a sixty-four (64) bit block. Each bit of the sixty-four (64) bit block has a zero (0) or a one (1) value. As such, the sixty-four (64) bits of each input block sequence are modified by combining the input signal using Galois field arithmetic with a block of the encryption sequence. Consequently, the data contained in the input signal is encrypted.
As will be understood by a person skilled in the art, computational complexity can be reduced by reducing the complexity of the encryption sequence generation method. This can be done either by reducing the periodicity of the algorithm or by reducing the amount of non-linearity in the algorithm. As will be understood by a person skilled in the art, an advantage of this encryption method is that it is less computationally intensive than the previously described method. Despite such an advantage, this method suffers from certain drawbacks. For example, this method offers a lower degree of security.
In some encryption applications, a trade off between a degree of security and an encryption algorithm's computational intensity is not justified. Such applications include, but are not limited to, an encryption of medical records and an encryption of credit card records. As such, there is a need for an encryption method offering a moderate degree of security at an appreciably lower implementation complexity than that of a conventional high security encryption method.